#============================================================
#	Custom Signal Wrapper
#============================================================
#  自定义信号包装器
#============================================================
# @datetime: 2022-5-15 02:43:28
#============================================================
class_name CustomSignalWrapper
extends Wrapper


func _init(host).(host):
	pass


#============================================================
#   自定义
#============================================================
signal custom_signal(_signal, data)



var _data = {}

##  发出自定义信号
## @_signal  信号名
## @data=null  数据
func emit_custom_signal(_signal, data = null):
	if _data.has(_signal):
		var list : Array = _data[_signal]
		for i in list:
			var target : Object = i[0]
			var method : String = i[1]
			target.call(method, data)
	emit_signal("custom_signal", _signal, data)


##  连接自定义信号
## @_signal  
## @target  
## @method  连接调用的方法，这个方法必须要有一个参数
func connect_custom_signal(_signal, target: Object, method: String):
	if not _data.has(_signal):
		_data[_signal] = []
	_data[_signal].append([target, method])


